2d34394629896c09c6865efd32bc3ce7c6fe1fe5,src/main/java/com/bezman/controller/user/OAuthController.java,OAuthController,githubCallback,#HttpServletRequest#HttpServletResponse#String#,324

Before Change


        try {
            com.bezman.model.User user = GithubProvider.userForCode(code);

            Session session = DatabaseManager.getSession();

            Query query = session.createQuery("from User where providerID = :providerID and provider = :provider");
            query.setString("providerID", user.getProviderID());
            query.setString("provider", user.getProvider());

            com.bezman.model.User queryUser = (com.bezman.model.User) DatabaseUtil.getFirstFromQuery(query);

            session.close();

            if (queryUser == null) {
                userService.addUser(user);
            } else {
                user.setId(queryUser.getId());
            }

            Cookie cookie = new Cookie("token", user.newSession());
            cookie.setPath("/");

            response.addCookie(cookie);
            response.sendRedirect(Reference.rootURL + "/");
        } catch (Exception e) {
            e.printStackTrace();
        }

After Change


    @RequestMapping("/github_callback")
    public ResponseEntity githubCallback(HttpServletRequest request, HttpServletResponse response, @RequestParam("code") String code) {
        com.bezman.model.User user = GithubProvider.userForCode(code);
        com.bezman.model.User queryUser = userService.userForProviderAndProviderID(user.getProvider(), user.getProviderID());

        if (queryUser == null) {
            userService.createConnectedAccountFromPrimaryAccount(user);
        } else {
            user.setId(queryUser.getId());

        }
        this.authService.loginUser(user);
        this.httpService.sendRedirect("/");

        return null;
    }